home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-31 | 3.8 KB | 171 lines | [TEXT/CWIE] |
- /*
- File: CInternetConfig.h
-
- Contains: Layer on top of Internet Config
-
- Written by: Arno Gourdol
-
- Copyright: © 1996 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #include "CInternetConfig.h"
- #include "assert.h"
-
- #include "ICTypes.h"
- #include "ICKeys.h"
- #include "ICAPI.h"
-
-
-
-
- // --------------------------------------------------------------------
- // CInternetConfig
- // --------------------------------------------------------------------
-
- CInternetConfig::CInternetConfig(OSType creator) :
- fInstance(NULL)
- {
- OSErr err;
-
- err = ICStart(&fInstance, creator);
- if (err != noErr)
- fInstance = NULL;
- else
- {
- ICFindConfigFile(fInstance, 0, NULL);
- assert(err == noErr);
- }
- }
-
-
-
- // --------------------------------------------------------------------
- // ~CInternetConfig
- // --------------------------------------------------------------------
-
- CInternetConfig::~CInternetConfig()
- {
- if (fInstance != NULL)
- {
- OSErr err;
- err = ICStop(fInstance);
- assert(err == noErr);
- }
- }
-
-
-
- // --------------------------------------------------------------------
- // ICGetString
- // --------------------------------------------------------------------
- // Get an Internet Config attribute stored as a Pascal string
-
- void CInternetConfig::ICGetString(ConstStr255Param attributeName,
- Str255 string)
- {
- long size = sizeof(Str255);
- ICAttr attribute;
- OSErr err = ICGetPref(fInstance, attributeName, &attribute,
- (Ptr)string, &size);
-
- if (err != noErr)
- string[0] = 0;
- }
-
-
-
- // --------------------------------------------------------------------
- // ICGetText
- // --------------------------------------------------------------------
- // Get an Internet Config attribute stored as a text pointer
-
- void CInternetConfig::ICGetText(ConstStr255Param attributeName,
- Str255 string)
- {
- long size = sizeof(Str255) - 1;
- ICAttr attribute;
- OSErr err = ICGetPref(fInstance, attributeName, &attribute,
- (Ptr)&string[1], &size);
-
- if (err == noErr)
- {
- assert(size <= 255);
- string[0] = size;
- }
- else
- {
- string[0] = 0;
- }
- }
-
-
-
- // --------------------------------------------------------------------
- // ICGetScrambledString
- // --------------------------------------------------------------------
- // Get an Internet Config attribute stored as a scrambled pascal string
-
- void CInternetConfig::ICGetScrambledString(
- ConstStr255Param attributeName, Str255 string)
- {
- ICGetString(attributeName, string);
-
- if (string[0] != 0)
- {
- for (short i = 1; i <= string[0]; i++)
- {
- string[i] = string[i] ^ (0x55 + i);
- }
- }
- }
-
-
-
- // --------------------------------------------------------------------
- // ICSetString
- // --------------------------------------------------------------------
- // Set an Internet Config attribute stored as a pascal string
-
- void CInternetConfig::ICSetString(ConstStr255Param attributeName,
- Str255 string)
- {
- OSErr err = ICSetPref(fInstance, attributeName, ICattr_no_change,
- (Ptr)string, string[0] + 1);
- }
-
-
-
- // --------------------------------------------------------------------
- // ICSetText
- // --------------------------------------------------------------------
- // Set an Internet Config attribute stored as a text pointer
-
- void CInternetConfig::ICSetText(ConstStr255Param attributeName,
- Str255 string)
- {
- OSErr err = ICSetPref(fInstance, attributeName, ICattr_no_change,
- (Ptr)&string[1], string[0]);
- }
-
-
-
- // --------------------------------------------------------------------
- // ICSetScrambledString
- // --------------------------------------------------------------------
- // Set an Internet Config attribute stored as a scrambled pascal string
-
- void CInternetConfig::ICSetScrambledString(
- ConstStr255Param attributeName, Str255 string)
- {
- Str255 scrambledString;
-
- scrambledString[0] = string[0];
-
- for (short i = 1; i <= string[0]; i++)
- {
- scrambledString[i] = string[i] ^ (0x55 + i);
- }
- ICSetString(attributeName, scrambledString);
- }
-